package censo

import scala.collection.mutable.ArrayBuffer
import Packtrait.CriterioFiltroEmpresa



class Empresa extends CriterioFiltroEmpresa{

  var _nombreEmpresa: String = _
  var _Fuente: Fuente = _
  var _Departamento: Departamento = _
  val _registros: ArrayBuffer[Registro] = null

  def nombre = _nombreEmpresa
  def nombre_=(nuevoNombre: String) = {
    _nombreEmpresa = nuevoNombre
  }
  def fuente = _Fuente
  def departamento = _Departamento
  def registro = _registros
  
    //empresa Solida,todos sus registros, la tasa de ganancia es mayor a 10.
  	def laEmpresaEsSolida(unaEmpresa:Empresa):Boolean={
		!(Datos.registros.filter(r=> r._empresa ._nombreEmpresa ==unaEmpresa._nombreEmpresa ).
		exists{ r : Registro => r.tasaDeGanancia<10}) 
		//foreach { r: Registro => if (!(r.tasaDeGanancia > 10)) return false }
  		//true
  	}
  	//empresa Sospechosa,si en al menos un registro, la tasa de ganancia es mayor a 85.
  	def laEmpresaEsSospechosa(unaEmpresa:Empresa):Boolean={
		Datos.registros.filter(r=> r._empresa ._nombreEmpresa ==unaEmpresa._nombreEmpresa ).exists{r : Registro => r.tasaDeGanancia>85}
		//foreach { r: Registro => if (!(r.tasaDeGanancia > 85)) return false }
  		//true
  	}

  def this(nombreDeLaEmpresa: String, laFuente: Fuente, departamento: Departamento) = {
    this()
    this._nombreEmpresa = nombreDeLaEmpresa
    this._Fuente = laFuente
    this._Departamento = departamento
  }

	var e = new Empresa
	e.totalDeVentas
	
	override def condicion(registro : Registro) = true
}